package org.vison.wonfu.framework.soa.annotation;


/**
 *
 * 负载均衡算法选择指南
 * 各算法的核心特性、局限局限及适用场景如下：
 *
 * <ul>
 *   <li><b>RANDOM（随机算法）</b>
 *     <ul>
 *       <li>核心优势：实现简单，资源开销低</li>
 *       <li>主要局限：短期可能出现请求分配不均</li>
 *       <li>最佳适用场景：小规模同构集群，对均衡性要求不高的场景</li>
 *     </ul>
 *   </li>
 *
 *   <li><b>ROUND_ROBIN（轮询算法）</b>
 *     <ul>
 *       <li>核心优势：分配规则公平透明，易于维护和调试</li>
 *       <li>主要局限：不考虑实例实时负载差异，性能不均时会导致负载失衡</li>
 *       <li>最佳适用场景：同构实例集群，请求处理时间相近的无状态服务</li>
 *     </ul>
 *   </li>
 *
 *   <li><b>LEAST_ACTIVE（最小活跃数算法）</b>
 *     <ul>
 *       <li>核心优势：动态感知实例负载，可适应请求耗时差异大的场景</li>
 *       <li>主要局限：需实时统计活跃请求数，增加通信和计算开销</li>
 *       <li>最佳适用场景：请求处理时间波动大的服务（如秒杀、复杂查询业务）</li>
 *     </ul>
 *   </li>
 *
 *   <li><b>CONSISTENT_HASH（一致性哈希算法）</b>
 *     <ul>
 *       <li>核心优势：实例上下线时影响范围小，支持会话一致性</li>
 *       <li>主要局限：易出现数据倾斜（需虚拟节点优化），实现复杂度高</li>
 *       <li>最佳适用场景：有状态服务、实例频繁扩缩容的动态集群（如K8s环境）</li>
 *     </ul>
 *   </li>
 *
 *   <li><b>LEAST_CONNECTION（最小连接数算法）</b>
 *     <ul>
 *       <li>核心优势：适合长连接场景，实现难度较低</li>
 *       <li>主要局限：连接数不能完全代表实际负载（可能包含大量空闲连接）</li>
 *       <li>最佳适用场景：WebSocket、数据库代理等长连接服务</li>
 *     </ul>
 *   </li>
 *
 *   <li><b>FASTEST_RESPONSE（最快响应优先算法）</b>
 *     <ul>
 *       <li>核心优势：优先选择响应最快的实例，贴近用户体验需求</li>
 *       <li>主要局限：需持续统计响应时间（有延迟），增加监控开销</li>
 *       <li>最佳适用场景：延迟敏感服务（如API网关、支付接口、实时消息推送）</li>
 *     </ul>
 *   </li>
 * </ul>
 */
public enum LoadBalance {
    RANDOM,
    ROUND_ROBIN,
    LEAST_ACTIVE,
    CONSISTENT_HASH,
    LEAST_CONNECTION,
    /**
     * 最快响应优先
     *
     */
    FASTEST_RESPONSE
}
